lcGetDrwXData Home

Retrieves drawing's properties LC_PROP_DRW_XDATA, LC_PROP_DRW_XDATASIZE, LC_PROP_DRW_DESCR from a file, without creating drawing object and reading entire file.

 BOOL lcGetDrwXData (
   LPCWSTR szFileName
 );

Parameters
szFileName
  Drawing's filename.
NULL or empty string will free memory of XDATA buffer.

Return Value

  If the function succeeds, the return value is nonzero (TRUE).


Code sample:
  int sz;
  BYTE* pData = NULL;
  WCHAR szBuf[512];
  WCHAR* szFileName = L"C:/!OK/Data/Drawings/Mlines.lcd";
  if (lcGetDrwXData( szFileName )){
    // get drawing's comment
    wcsncpy( szBuf, lcPropGetStr( 0, LC_PROP_DRW_DESCR ), 510 );
    // get size of XData
    sz = lcPropGetInt( 0, LC_PROP_DRW_XDATASIZE );
    if (sz > 0){
      // allocate memory
      pData = (BYTE*)malloc( sz );
      if (pData){
        // read XDATA into pData
        memcpy( pData, lcPropGetHandle( 0, LC_PROP_DRW_XDATA ), sz );
        // do something with retrieved data (pData)
        //...
      }
    }
    // free memory buffer (LC_PROP_DRW_XDATA)
    lcGetDrwXData( L"" );

    if (pData){
      free( pData );
      pData = NULL;
    }
  }